Automating control of an industrial vehicle

ABSTRACT

A process for automating control of an industrial vehicle based on location comprises scanning an environment, by using an optical scanner affixed to the industrial vehicle. A marker defined by a series of tags is identified by recursively receiving a reflection of the optical scanner; determining if the reflection is indicative of an optical tag; and concatenating the indication of an optical tag to the marker. Once the marker is identified, the marker is transformed into an environmental condition and a status of the vehicle is determined, where the status correlates to the environmental condition. Further, an automated control is applied on the industrial vehicle based on the environmental condition and the status of the industrial vehicle.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims the benefit of U.S.patent application Ser. No. 17/174,831, filed Feb. 12, 2021, entitled“AUTOMATING CONTROL OF AN INDUSTRIAL VEHICLE”, which claims the benefitof U.S. Provisional Patent Application Ser. No. 62/975,386, filed Feb.12, 2020, entitled “AUTOMATING CONTROL OF AN INDUSTRIAL VEHICLE”, theentire disclosures of which are hereby incorporated by reference herein.

BACKGROUND

Various aspects of the present disclosure relate generally to industrialvehicles and specifically to automating the control of industrialvehicles in defined environments.

Inventory (or “stock”) of goods are often stored in warehouses (or otherindustrial environments) until an order is placed. Once the order isplaced, the stock may be picked by an operator controlling an industrialvehicle (e.g., forklift, pallet truck, stock picker, etc.). Once theinventory is picked, it may be sent to a variety of destinations such asa distributor, or to the consumer directly.

BRIEF SUMMARY

According to aspects of the present disclosure, a process for automatingcontrol of an industrial vehicle based on location comprises scanning anenvironment using an optical scanner affixed to the industrial vehicle,wherein the optical scanner is fixed in an orientation that scans in thetravel direction of the industrial vehicle. A marker defined by a seriesof tags is identified by recursively performing the following:receiving, by an optical detector on the industrial vehicle, areflection indicative of a signal emitted by the optical scanner;measuring a received signal value of the reflection indicative of thesignal emitted by the optical scanner; verifying whether the measuredreceived signal value is indicative of an optical tag based upon themeasured received signal value to create a present indication of anoptical tag; and concatenating the present indication of an optical tagto the marker.

According to aspects of the present disclosure, a process for automatingcontrol of an industrial vehicle based on location comprises scanning anenvironment using an optical scanner affixed to the industrial vehicle.A marker defined by a series of tags is identified by recursivelyperforming the following: receiving, by an optical detector on theindustrial vehicle, a reflection indicative of a signal emitted by theoptical scanner; measuring a received signal value of the reflectionindicative of the signal emitted by the optical scanner; verifyingwhether the measured received signal value is indicative of an opticaltag based upon the measured received signal value to create a presentindication of an optical tag; and concatenating the present indicationof an optical tag to the marker. Once the marker is identified, themarker is transformed into an environmental condition and a status ofthe vehicle is determined, where the status correlates to theenvironmental condition. Further, an automated control is applied on theindustrial vehicle based on the environmental condition and the statusof the industrial vehicle.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is an example layout of an industrial environment, according tovarious aspects of the present disclosure;

FIG. 2 is a flow diagram of a network system, according to aspects ofthe present disclosure;

FIG. 3 is a hardware system diagram that can be used in an industrialvehicle, according to aspects of the present disclosure;

FIG. 4 is flow chart directed toward an embodiment for a process forautomating control of an industrial vehicle based on location, accordingto aspects of the present disclosure;

FIG. 5 illustrates an example implementation of an industrial vehiclethat the process of FIG. 4 is executed upon according to aspects of thepresent disclosure;

FIG. 6 illustrates an additional example implementation of an industrialvehicle that the process of FIG. 4 is executed upon according to aspectsof the present disclosure;

FIG. 7 is a flow chart directed toward an alternate embodiment of aprocess for automating control of an industrial vehicle based onlocation, according to aspects of the present disclosure;

FIGS. 8A-8B illustrate example implementations of an industrial vehiclethat the process of FIG. 7 is executed upon according to aspects of thepresent disclosure;

FIGS. 9A-9F illustrate an additional example implementation of anindustrial vehicle that the process of FIG. 7 is executed upon accordingto aspects of the present disclosure;

FIG. 10 is a flow chart directed toward yet another embodiment for aprocess for automating control of an industrial vehicle based onlocation, according to aspects of the present disclosure;

FIGS. 11A-11B illustrate an example implementation of an industrialvehicle that the process of FIG. 10 is executed upon according toaspects of the present disclosure; and

FIGS. 12A-12B illustrate a three-dimensional tag that includesinformation in more than one direction, where FIG. 12A is at a firstpoint in time and FIG. 12B is at a second point in time, according toaspects of the present disclosure.

DETAILED DESCRIPTION

According to various aspects of the present disclosure, systems andcomputer implemented processes provide information to an industrialvehicle, which may include the user of the industrial vehicle, from anindustrial environment that relates to conditions within theenvironment. The disclosure herein improves the technology oflocation-based information exchange for industrial vehicles. Inparticular, various aspects of the present disclosure address thetechnical problem of providing location-based information relating tochanges in the industrial environment (e.g., warehouse layout) to theindustrial vehicle and its application users.

Warehouse layouts and structures may vary between retailers.Accordingly, for clarity purposes, an example industrial environmentlayout is illustrated below.

Example Industrial Environment Layout

Referring now to FIG. 1 an example of an industrial environment (e.g.,warehouse, supply yard, loading dock, manufacturing facility, etc.)layout 100 is shown. In a typical stock picking operation, an operatorof an industrial vehicle fills orders from available stock items thatare located in storage areas provided down one or more aisles within theindustrial environment. In this example industrial environment layout100, there are three aisles 102 a, 102 b, 102 c (collectively 102),which are separated by three racks 104 a, 104 b, 104 c (collectively104).

A rack is a structure that can be used to stock and store various itemssuch as consumer products or materials and can vary in both size andstructure. Examples of racks include, but are not limited to selectivepallet racks, drive-in racks, drive-through racks, flow racks, gravityracks, and pushback racks. Racks may also have multiple vertical tiersto expand storage capacity.

During a typical stock picking operation, an operator may drive anindustrial vehicle 106 to a first location where item(s) on a firstorder are to be picked (e.g., aisle 1). In a pick process, the operatorretrieves the ordered stock item(s) from their associated storagearea(s) (e.g., racks) and places the picked stock on a pallet,collection cage, other support structure carried by the industrialvehicle, or on the industrial vehicle itself. The operator then advancesthe industrial vehicle to the next location where a subsequent item isto be picked. The above process is repeated until all stock items on theorder have been picked.

The operator may be required to repeat the pick process several hundredtimes per order. Moreover, the operator may be required to pick numerousorders per shift. As such, the operator may be required to spend aconsiderable amount of time relocating and repositioning the industrialvehicle, which reduces the time available for the operator to spendpicking stock.

Further, it is not uncommon for multiple operators, each controlling anindustrial vehicle, to pick orders simultaneously. For example, threetraditional forklift trucks 106 a-c (e.g., counterbalance forklifts,reach trucks, order pickers, stackers, etc.) and one pallet truck 108(e.g., a low-level order picker, a quick pick remote truck, acenter-control pallet truck, etc.) are shown.

According to aspects of the present disclosure, methods and systems areprovided to mitigate collisions between industrial vehicles and otherentities (e.g., other industrial vehicles, pedestrian, etc.). Forexample, various factors may affect a likelihood of a collision (e.g.,size and structure of the racks), which may prevent an operator of anindustrial vehicle 106 c to visually see an operator of a differentindustrial vehicle 108, which may result in a collision between theindustrial vehicles.

Moreover, some industrial vehicles may have remote-control capabilities.For example, a remote-control system for the industrial vehicle maycomprise a wearable wireless remote-control device that is donned by theoperator interacting with the industrial vehicle. The wearable wirelessremote-control device may include a wireless transmitter and a travelcontrol communicably coupled to a wireless transmitter and actuation ofthe travel control causes the wireless transmitter to wirelesslytransmit a travel request to the industrial vehicle.

Also, while the inclusion of remote-control capabilities may increaseproductivity and efficiency of order picking, the inclusion ofremote-control capabilities may also introduce a risk of an operatorforgetting to manually stop the industrial vehicle before the industrialvehicle proceeds into another aisle or intersection.

Further, industrial environments may have varying traffic rules betweendifferent areas of the industrial environment. For example, a maximumallowed speed limit in an aisle may be different than a maximum speedallowed in a lane. Failure to abide by these speed limits or trafficrules can result in a collision as well.

Accordingly, aspects of the present disclosure are directed toward aprocess for automating control of an industrial vehicle, based on thelocation of the industrial vehicle. In various embodiments, the processcan account for the possibility of collisions between industrialvehicles, as well as potential varying traffic rules within anindustrial environment setting. FIGS. 2 and 3 disclose exampleembodiments of systems and hardware that may be used with an industrialvehicle as described herein in greater detail.

System Overview

Referring now to the drawings and in particular to FIG. 2 , a generaldiagram of a system 200 is illustrated according to various aspects ofthe present disclosure. The illustrated system 200 is a special purpose(particular) computing environment that includes a plurality of hardwareprocessing devices (designated generally by the reference 202) that arelinked together by one or more network(s) (designated generally by thereference 204).

The network(s) 204 provides communications links between the variousprocessing devices 202 and may be supported by networking components 206that interconnect the processing devices 202, including for example,routers, hubs, firewalls, network interfaces, wired or wirelesscommunications links and corresponding interconnections, cellularstations and corresponding cellular conversion technologies (e.g., toconvert between cellular and TCP/IP, etc.). Moreover, the network(s) 204may comprise connections using one or more intranets, extranets, localarea networks (LAN), wide area networks (WAN), wireless networks(Wi-Fi), the Internet, including the world wide web, cellular and/orother arrangements for enabling communication between the processingdevices 202, in either real time or otherwise (e.g., via time shifting,batch processing, etc.).

A processing device 202 can be implemented as a server, personalcomputer, laptop computer, netbook computer, purpose-driven appliance,special purpose computing device and/or other device capable ofcommunicating over the network 204. Other types of processing devices202 include for example, personal data assistant (PDA) processors, palmcomputers, cellular devices including cellular mobile telephones andsmart telephones, tablet computers, an electronic control unit (ECU), adisplay of the industrial vehicle, etc.

Still further, a processing device 202 is provided on one or moreindustrial vehicles 208 such as a forklift truck, reach truck, stockpicker, automated guided vehicle, turret truck, tow tractor, riderpallet truck, walkie stacker truck, quick pick remote truck, etc. In theexample configuration illustrated, the industrial vehicles 208wirelessly communicate through one or more access points 210 to acorresponding networking component 206, which serves as a connection tothe network 204. Alternatively, the industrial vehicles 208 can beequipped with Wi-Fi, cellular or other suitable technology that allowsthe processing device 202 on the industrial vehicle 208 to communicatedirectly with a remote device (e.g., over the networks 204).

The illustrated system 200 also includes a processing device implementedas a server 212 (e.g., a web server, file server, and/or otherprocessing device) that supports an analysis engine 214 andcorresponding data sources (collectively identified as data sources216). The analysis engine 214 and data sources 216 provide domain-levelresources to the industrial vehicles 208. Moreover, the data sources 216store data related to activities of the industrial vehicles 208.

In an exemplary implementation, the data sources 216 include acollection of databases that store various types of information relatedto an operation (e.g., an industrial environment, distribution center,retail store, manufacturer, etc.). However, these data sources 216 neednot be co-located. In the illustrative example, the data sources 216include databases that tie processes executing for the benefit of theenterprise, from multiple, different domains. In the illustratedexample, data sources 216 include an industrial vehicle informationdatabase 218 (supporting processes executing in an industrial vehicleoperation domain), a warehouse management system (WMS) 220 (supportingprocesses executing in WMS domain that relate to movement and trackingof goods within the operating environment), a human resources managementsystem (HRMS) 222 (supporting processes executing in an HRMS domain), ageo-feature management system 224 (supporting processes that utilizeenvironmental-based location tracking data of industrial vehicles in ageo-domain), etc. The above list is not exhaustive and is intended to beillustrative only.

Still further, the industrial vehicles 208 may include a short range,direct communication with electronic badges that can be remote, but inrelatively close proximity (by way of example, 15-20 meters) to acorresponding industrial vehicle 208. Electronic badges can also bepositioned on machines, fixtures, equipment, other objects, anindustrial vehicle operator, combinations thereof, etc. Electronicbadges are discussed in greater detail in U.S. patent application Ser.No. 15/685,163 by Philip W. Swift entitled INDUSTRIAL ELECTRONIC BADGEfiled Aug. 24, 2017, the entirety of which is hereby incorporated byreference.

In certain illustrative implementations, the industrial vehicles 208themselves can communicate directly with each other via electronic badgecommunicator technology, e.g., via a short-range direct communicationlink, thus forming a mesh network, or temporary mesh network.

Industrial Vehicle

As noted above, in certain contexts and roles, a processing device 202is provided on an industrial vehicle 208. Here, the processing device202 is a special purpose, particular computer, such as a device thatmounts to or is otherwise integrated with the industrial vehicle 208.The processing device 202 includes a processor coupled to memory tocarry out instructions. However, the execution environment of theprocessing device 202 is further tied into the industrial vehicle 208making it a particular machine different from a general-purposecomputer.

For instance, an example processing device 202 on an industrial vehicleis a mobile asset information linking device (see information linkingdevice 38) as set out in U.S. Pat. No. 8,060,400, the disclosure ofwhich is incorporated by reference in its entirety. In certainillustrative implementations, the processing device 202 alsocommunicates with components of the corresponding industrial vehicle 208(e.g., via a vehicle network bus (e.g., CAN bus (controller area networkbus)), short range wireless technology (e.g., via Bluetooth or othersuitable approach), or other wired connection, examples of which are setout further in U.S. Pat. No. 8,060,400, already incorporated byreference.

Referring to FIG. 3 , a processing device 202 is implemented as aninformation linking device that comprises the necessary circuitry toimplement wireless communication, data and information processing, andwired (and optionally wireless) communication to components of theindustrial vehicle. As a few illustrative examples, the processingdevice 202 includes a transceiver 302 for wireless communication, whichis capable of both transmitting and receiving signals. Although a singletransceiver 302 is illustrated for convenience, in practice, one or morewireless communication technologies may be provided. For instance, thetransceiver 302 may be able to communicate with a remote server, e.g.,server 212 and hence, interact with the analysis engine 214 of FIG. 2 ,via 802.11.xx across the access points 210 of FIG. 2 . The transceiver302 may also optionally support other wireless communication, such ascellular, Bluetooth, infrared (IR) or any other technology orcombination of technologies. For instance, using a cellular to IP(Internet protocol) bridge, the transceiver 302 may be able to use acellular signal to communicate directly with a remote server, e.g., amanufacturer server. The transceiver 302 may also communicate with awireless remote-control device that controls the industrial vehicle 208.The remote-control device may be controlled by an industrial vehicleoperator, or by the system 200.

The processing device 202 also comprises a control module 304, having aprocessor coupled to memory for implementing computer instructions.Additionally, the control module 304 implements processes such asoperator log on, pre-use inspection checklists, data monitoring andother features, examples of which are described more fully in U.S. Pat.No. 8,060,400 to Wellman, already incorporated by reference herein.

The processing device 202 further includes vehicle power enablingcircuitry 306 to selectively enable or disable the industrial vehicle208. In certain implementations, the vehicle power enabling circuitry306 can partially enable the industrial vehicle 208 for operation, orfully enable the industrial vehicle 208 for operation, e.g., dependingupon proper operator login. For instance, the vehicle power enablingcircuitry 306 can provide selective power to components via power line308. Various functions of the industrial vehicle 208 can be controlledby the vehicle power enabling circuitry 306 (e.g., in conjunction withthe control module 304) such as traction control, steering control,brake control, drive motors, etc.

Still further, the processing device 202 includes a monitoring inputoutput (I/O) module 310 to communicate via wired or wireless connectionto peripheral devices mounted to or otherwise on the industrial vehicle,such as sensors, meters, encoders, switches, etc. (collectivelyrepresented by reference numeral 312).

The processing device 202 is coupled to and/or communicates with otherindustrial vehicle system components via a suitable industrial vehiclenetwork system 314, e.g., a vehicle network bus. The industrial vehiclenetwork system 314 is any wired or wireless network, bus or othercommunications capability that allows electronic components of theindustrial vehicle 208 to communicate with each other. As an example,the industrial vehicle network system may comprise a controller areanetwork (CAN) bus, ZigBee, Bluetooth, Local Interconnect Network (LIN),time-triggered data-bus protocol (TTP) or other suitable communicationstrategy.

As will be described more fully herein, utilization of the industrialvehicle network system 314 enables seamless integration of thecomponents of the processing device 202 on the industrial vehicle 208into the native electronics including controllers of the industrialvehicle 208. Moreover, the monitoring I/O module 310 can bridge anyelectronic peripheral devices 312 to the industrial vehicle networksystem 314. For instance, as illustrated, the processing device 202connects with, understands and is capable of communication with nativevehicle components, such as controllers, modules, devices, bus enabledsensors, displays, lights, light bars, sound generating devices,headsets, microphones, haptic devices, etc. (collectively referred to byreference 316).

The processing device 202 can also communicate with a fob 318 (orkeypad, card reader or any other device) for receiving operator log inidentification. Still further, the processing device 202 can include adisplay and/or other features to provide desired processing capability.

According to yet further aspects of the present disclosure, anenvironmental based location tracking system 320 may be provided on theindustrial vehicle 208, which can communicate across the industrialvehicle network system 314. The environmental based location trackingsystem 320 enables the industrial vehicle 208 to be spatially aware ofits location within the industrial environment. The environmental basedlocation tracking system 320 may comprise a local awareness system thatutilizes markers, including RFID (radio-frequency identification),beacons, lights, or other external devices to allow spatial awarenesswithin the industrial environment. The environmental based locationtracking system 320 may use one or more of a global positioning system(GPS), or triangulation system to determine position. The environmentalbased location tracking system 320 may also use knowledge read fromvehicle sensors, encoders, accelerometers, etc., or other system thatallows location to be determined.

As a further example, the environmental based location tracking system320 may include a transponder, and the position of the industrialvehicle may be triangulated within the industrial environment. Yetfurther, the environmental based location tracking system 320 may usecombinations of the above and/or other technologies to determine thecurrent (real-time) position of the industrial vehicle. As such, theposition of the industrial vehicle can be continuously ascertained(e.g., every second or less) in certain implementations. Alternatively,other sampling intervals can be derived to continuously (e.g., atdiscrete defined time intervals, periodic or otherwise constant andrecurring time intervals, intervals based upon interrupts, triggers orother measures) determine industrial vehicle position over time.

The processing device 202 may also be connected to other devices, e.g.,third party devices 322 such as RFID scanners, displays, meters, weightsensors, fork load sensors, or other devices.

Single Optical Tag Embodiment

Referring now to the drawings and in particular FIG. 4 , a process 400is illustrated for automating control of an industrial vehicle based onlocation. The process 400 can incorporate the various systems, hardware,and embodiments disclosed in FIGS. 1-3 and can be combined in anycombination of components described with reference thereto. In thisregard, not every disclosed component need be incorporated.

The process 400 comprises scanning at 402 an environment in a traveldirection of the industrial vehicle, by using an optical scanner affixedto the industrial vehicle, wherein the optical scanner is fixed in anorientation that scans ahead of the forward travel direction of theindustrial vehicle. Thus, the optical scanner emits a signal in front ofthe industrial vehicle. Further, the angle of scanning of the opticalscanner can be greater than 180 degrees. Thus, even though the opticalscanner emits a signal ahead of the vehicle, the optical sensor alsoemits the signal to a side of the vehicle and behind the vehicle atportions of the scan. Thus, the scanner can scan tags in front of thevehicle, alongside the vehicle, behind the vehicle, or combinationsthereof.

With respect to the scanning technology used by the optical scanner toscan 402 the environment, a variety of scanning technologies may be used(e.g., optical mark reading technologies, optical character recognitiontechnologies, intelligent character recognition technologies, etc.). Invarious embodiments, a scanning laser or laser beam that is used todetermine obstacles in a path of the industrial vehicle is also used toscan the environment. In other words, a scanning device in addition toan obstacle scanning device is not required to scan for optical tags.

The process 400 further comprises receiving, at 404, by an opticaldetector on the industrial vehicle, a reflection indicative of thesignal emitted by the optical scanner. In various embodiments, theoptical scanner and the optical detector are paired together as a singledevice. As with the scanning device above, the optical detector may bean optical detector used to determine obstacles in a path of theindustrial vehicle.

In an industrial environment setting, such as the example in FIG. 1 ,objects (e.g., a floor surface of a warehouse, an obstacle, an aisle, anoptical tag, etc.) can reflect the laser beam back to the opticaldetector. For purposes of this disclosure, an optical tag is an objectthat reflects incoming light (e.g., laser beam from an optical scanner)at an intensity above a desired threshold. For example, the desiredthreshold may be based on received signal strength indication value asdescribed in greater detail herein.

Structurally, the optical tag may be a uniform material such as areflective tape. Alternatively, the optical tag may be an object thatcomprises multiple reflective surfaces therein (e.g., a surface withmultiple reflective cells such as disk reflectors used on vehicles,bicycles, roadways, etc.).

The process 400 further comprises measuring, at 406, a received signalvalue of the reflection indicative of the signal emitted by the opticalscanner and verifying at 408 whether the measured received signal valueis indicative of an optical tag based upon the measured received signalvalue to create an indication of an optical tag.

In various embodiments, measuring the reflection includes measuring areceived signal strength indicator (RSSI) value. Further, measuring thereflection may comprise generating a first result if the received signalvalue of the reflection is lower than a first threshold (e.g.,approximately 10% signal strength), generating a second result if thereceived signal value of the reflection is between the first thresholdand a second threshold (e.g., approximately 60% signal strength), andgenerating a third result if the received signal value of the reflectionis above the second threshold. The percentage ranges herein are forillustrative purposes and are non-limiting. These thresholds are variedto account for environmental, equipment tolerance, power consumption,and other factors that may vary the measured reflection and operation ofthe system.

In an example scenario, a floor surface of an industrial environment mayhave a received signal value at 10% or below, a rack at an end of anaisle may have a received signal value between 10% and 60%, and anoptical tag may have a received signal value of about 60% or greater. Inanother example, an optical tag that indicates a first value may have areceived signal value between 5% and 50%, and an optical tag thatindicates a second value may have a received signal value of about 50%or greater. As another example, an optical tag that indicates a firstvalue may have a received signal value between 15% and 70%, and anoptical tag that indicates a second value may have a received signalvalue of about 70% or greater. The received signal values are based onthe strength of the received signal, not an encoded value placed on thesignal that is the same regardless of strength.

At 410, if an indication of an optical tag is not detected, then theprocess loops back to 402 to continue looking for an optical tag. Also,if the received signal is determined to not be an optical tag, then thedata received may be indicative of an object or an instruction for otherpurposes (e.g., aisle navigation for an automated vehicle, navigationassist, etc.). However, at 410, if an indication of an optical tag isdetected, then the process 400 proceeds to 412, transforming theindication of an optical tag into an environmental condition. Further,at 414, a status of the industrial vehicle is determined, wherein thestatus correlates to the environmental condition, and at 416, anautomated control is applied on the industrial vehicle based on theenvironmental condition and the status of the industrial vehicle.

An example of an environmental condition may be certain traffic rulesfor different sections of an industrial environment. For example, anoperator may be required to perform an action at an end of an aislebefore entering a lane. As another example, a maximum allowed speedlimit in an aisle may be different than a maximum speed allowed in alane. In a further example, traffic rules in the industrial environmentmay require operators to perform an action (e.g., beep the horn, strobelights, etc.) when the industrial vehicle crosses from a lane todifferent lane (e.g., FIG. 1 where lane 1 and lane 2 intersect). In yetanother example, remote-controlled travel may be prohibited in a sectionof the industrial environment.

Moreover, environmental conditions may be grouped together andassociated with various signal value ranges from the reflection of theoptical tag. For example, received signal values between a firstthreshold and a second threshold may transform into a hazardenvironmental condition, and received signal values above the secondthreshold may transform into a value that is associated with changes intraffic rules. Multiple combinations and permutations can be utilized inthis manner. Data for transforming received signal values into anenvironmental condition may be located on the vehicle itself, a remoteserver, or both.

As disclosed above, the process 400 determines a status of theindustrial vehicle, wherein the status correlates to the environmentalcondition. The status of the industrial vehicle includes but is notlimited to the speed of the industrial vehicle, whether or not theindustrial vehicle is under remote-control, elevation of forks, currentweight load on the industrial vehicle, current location of theindustrial vehicle, etcetera. The status of the industrial vehicle canbe accessed or verified via a vehicle bus of the industrial vehicle(e.g., CAN bus). Further, data for determining a status of theindustrial vehicle correlating to the environmental condition may belocated on the vehicle itself, a remote server, or both.

If necessary, the process 400 applies an automated control on theindustrial vehicle based on the environmental condition and the statusof the industrial vehicle. In various embodiments, applying theautomated control on the industrial vehicle based on the environmentalcondition and the status of the vehicle comprises at least one ofgenerating a visual cue, activating an alarm on the industrial vehicle,overriding a manual travel control system, and overriding aremote-controlled travel control system of the industrial vehicle.

In another example, a first automated control may be applied to theindustrial vehicle in response to the obstacle within a travel path ofthe industrial vehicle, and a second (different) automated control maybe applied to the industrial vehicle in response to the obstacle outsidethe travel path of the industrial vehicle.

First Example of the Process of FIG. 4

Referring now to the drawings and in particular FIG. 5 , whichillustrates an example of an industrial vehicle 502 on which the process400 is executed, travelling in an industrial environment. References toFIG. 5 can incorporate the various systems, hardware, and embodimentsdisclosed in FIGS. 1-4 and can be combined in any combination ofcomponents described with reference thereto. In this regard, not everydisclosed component need be incorporated.

In this example, the industrial vehicle 502 is in a first zone 504 thatallows operators to remote-control industrial vehicles. However, theindustrial vehicle 502 is traveling toward a second zone 506 thatprohibits operators from remotely controlling industrial vehicles. Withuse of information about which direction a vehicle is travelling (e.g.,from the first zone 504 to the second zone 506), the zones and traveldirection may be used to interact with the vehicle (e.g., prohibitremote-control in the zone). Determining a travel direction is discussedin greater detail below.

In FIG. 5 , the industrial vehicle 502, which is being controlled by anoperator remotely, scans (via a laser beam 508) an environment in aforward-facing direction using an optical scanner 510. For this example,the optical scanner 510 comprises an optical emitter (e.g., a laser) andan optical detector that receives reflections of the emitted laser beam508 off objects within the industrial environment, such as an opticaltag 512 and a rack 514. The optical emitter used in this example is ascanner that scans for objects in front of the industrial vehicle 502

The laser beam 508 bounces off the rack 514 and is received by anoptical detector on the industrial vehicle 502, and a received signalvalue of the reflection is measured. When the laser beam reflects offthe rack 514 itself, the received signal value is less than a threshold(e.g., 65% signal strength), which indicates that the object is not anoptical tag, but is instead, a rack. In this example, the signal valuefrom the rack 514 is then ignored. However, when the laser beam 508reflects off the optical tag 512, the measured signal value exceeds thethreshold, so the process verifies that an optical tag is present.

Upon verification of the optical tag 512, the measured signal value istransformed into an environmental condition. In the present example, theenvironmental condition is a change in traffic rules—namely, the secondzone 506 prohibits remote-control of the industrial vehicle 502.Further, a status of the industrial vehicle is determined, where thestatus correlates to the environmental condition. In the presentexample, the status of the industrial vehicle 502 is that the industrialvehicle 502 is being remotely controlled. While there are other statusesassociated with the industrial vehicle (e.g., moving at a certain speed,load present on the vehicle, etc.), the status that correlates to theenvironmental condition is that the industrial vehicle is being remotelycontrolled.

Further, an automated control is applied to the industrial vehicle basedon the environmental condition and the status of the industrial vehicle.In the present example, the industrial vehicle is brought to a stop andremote-control travel capabilities are disabled on the industrialvehicle 502. Further, visual and audio cues are provided to the operatorindicating that the vehicle has been brought to a stop andremote-control travel capabilities have been disabled. Other automatedcontrols may be applied by the process 400 to the industrial vehicle 502as well.

Second Example of the Process of FIG. 4

FIG. 6 illustrates an industrial environment 600, an example of theprocess of FIG. 4 . All references to FIG. 5 can incorporate the varioussystems, hardware, and embodiments disclosed in FIGS. 1-5 can becombined in any combination of components described with referencethereto. In this regard, not every disclosed component need beincorporated.

In FIG. 6 , an industrial vehicle 602 travels through an aisle. Anoptical scanner (e.g., see 510 in FIG. 5 ) emits an obstacle detectionsignal comprising a first zone 604 and a second zone 606. The first zone604 is within a travel path of the industrial vehicle 602, while thesecond zone 606 includes areas outside of the travel path of theindustrial vehicle and includes areas behind a front of the industrialvehicle (i.e., behind the optical transmitter and detector). Obstaclesinclude, but are not limited to debris, liquids, solid structures (e.g.,pallets, tools, etc.), living organisms (humans, animals, etc.),indicators (e.g., optical tags), etc. Thus, if an object is detected inthe second zone 606, but not the first zone 604, then that object is notin the travel path of the industrial vehicle.

In this regard, the process of FIG. 4 discriminates between an obstaclewithin the travel path of the industrial vehicle and an obstacle outsidethe travel path of the industrial vehicle. In FIG. 6 , the first zoneincludes an object 608, and the second zone 606 includes a differentobject 610 (e.g., an optical tag).

When the object 608 in the first zone 604 is detected the processmeasures the signal value of the reflection and determines that theobject is not an optical tag, but could be a pedestrian (e.g., thereflection is between 20-40% signal strength). Therefore, a firstautomated control (e.g., such as a hard brake) may automatically beapplied to the industrial vehicle.

However, when the different object 610 in the second zone is detected,the signal value is indicative of an optical tag (e.g., the reflectionis above 60% signal strength). Therefore, the optical tag is verifiedand the process (400 of FIG. 4 ) continues to transform, correlate, andapply an automated control, as described above. For example, in FIG. 6 ,the optical tag 610 may indicate an end of the aisle, and the status ofthe industrial vehicle is moving toward the end of the aisle. Therefore,an indication (e.g., visual, audial, haptic, etc.) may be provided tothe operator to stop the industrial vehicle before proceeding out of theaisle.

Multiple Tag in Series Embodiment

As disclosed above, the process 400 with a single optical tag providesmultiple options for applying automated controls on an industrialvehicle. By implementing additional optical tags, as described ingreater detail below, the number of options for applying automatedcontrols on an industrial vehicle increases as well.

Now referring to FIG. 7 , a process 700 for automating control of anindustrial vehicle based on location is disclosed. All references to theprocess 700 can incorporate the various systems, hardware andembodiments disclosed in FIGS. 1-6 and can be combined in anycombination of components described with reference thereto. In thisregard, not every disclosed component need be incorporated.

The process 700 comprises scanning at 702 an environment in a forwardtravel direction of the industrial vehicle, by using an optical scanneraffixed to the industrial vehicle, wherein the optical scanner is fixedin an orientation that scans ahead of the forward travel direction ofthe industrial vehicle.

At 704, the process 700 includes identifying a marker defined by aseries of tags. The marker is identified by finding a series of tags andconcatenating those tags together to create the marker. To do this, theprocess 700 at 706 receives, by an optical detector on the industrialvehicle, a reflection indicative of a signal emitted by the opticalscanner. Receiving the reflection is similar to receiving the reflection(404, FIG. 4 ) of the process for a single tag of FIG. 4 .

Again, similarly to the process of FIG. 4 , the process measures areceived signal value of the reflection indicative of the signal emittedby the optical scanner at 708 and verifies whether the measured receivedsignal value is indicative of an optical tag based upon the measuredreceived signal value to create a present indication of an optical tagat 710.

In various embodiments, measuring the signal value of the reflectionsindicative of the signal emitted by the optical scanner comprisesgenerating a first result if a signal value of an individual reflectionof the series of reflections is lower than a first threshold (e.g.,approximately 10% signal strength), a second result if the signal valueof the reflection is between the first threshold and a second threshold(e.g., approximately 60% signal strength), and a third result if thesignal value of the reflection is above the second threshold. Thepercentage ranges herein are for illustrative purposes and arenon-limiting to the disclosure herein as more or few ranges may beutilized.

At 712, the process 700 concatenates the present indication of anoptical tag to the marker. For example, if the indication of the opticaltag is the first indication of an optical tag, then that indicationstarts the marker. Then, subsequent indications of optical tags areconcatenated to the marker in the order that those indications arereceived. Thus, a series of optical tags are built up in sequentialorder into the marker.

The marker is a series of optical tags that includes at least twooptical tags that are arranged in a sequence such that the optical tagsare encountered at different times as the industrial vehicle moves.

In this regard, each optical tag within the series of optical tagsincludes its own signal value. For example, a first optical tag detectedmay indicate a start bit. Then, a second bit (i.e., a second value foran optical tag) is determined to be a first value (e.g., ‘1’) if asecond optical tag is detected within an amount of time (the amount oftime may vary depending on a speed of the industrial vehicle). In otherwords, a first value is assigned to the second bit if a signal value isindicative of an optical tag received before a timer expires. However,if a second optical tag is not detected within the amount of time, thena second value (e.g. ‘0’) is assigned to the second bit. This processmay repeat until all bits for a given series of optical tags aredetermined, where the timer is reset between each bit. The resultingvalue of the bits in the series of optical tags may then be used as acode to determine an environmental condition.

Another example of aggregating multiple indications of optical tags intoa value of a series of optical tags includes detecting a first opticaltag as discussed above and assigning a value to the tag based on thesignal value. For example, if the signal value is below a firstthreshold, then an optical tag is not detected. If the signal value isbetween the first threshold and a second threshold, then a first valueis assigned to the optical tag. If the signal value is above the secondthreshold, then a second value is assigned to the optical tag. The sameapplies to all tags detected within a certain period of time, which areconcatenated to create the marker. Instead of a certain period of time(which may or may not be based on a speed of the industrial vehicle), apreset number of optical tags may be used to indicate an end of theseries of optical tags. For example, if the marker is defined as fouroptical tags in a series, once four optical tags are detected, themarker is complete.

A series of optical tags can be any number of optical tags that arearranged vertically (spaced apart from one another at varying heights),horizontally (spaced apart from each other at varying depths), or both.In an example, a series of optical tags is any number of optical tagsarranged in a vertical sequence that are equally spaced from oneanother. In yet another example, a series of tags is any number of tagsarranged in a horizontal sequence. In various embodiments, due to thefixed orientation of the optical scanner, the height from the floor tothe optical scanner is known. Further, a relative angle of a scanningsignal (i.e., laser) is also known. Thus, optical tags can be spaced sothat the optical scanner scans the optical tags within the series ofoptical tags in a specific order regardless of an orientation of theseries of the optical tags. In an example implementation, where theoptical scanner is fixed in a downward orientation, the series ofoptical tags can be arranged in a vertical sequence where a bottom tagwithin the series of optical tags is scanned first. As the industrialvehicle travels forward, a subsequent optical tag is scanned by theoptical scanner, and so on until all of the optical tags within theseries of optical tags have been scanned. Alternatively, the opticalscanner can be fixed in an upward orientation and achieve a similarresult, except that the optical tags are scanned from the top down.

At 714, if the marker is not completely identified, then the process 700loops back to 706 to receive more reflections and find more optical tagsto concatenate to the marker. However, if at 714, the marker iscompletely identified, then the process proceeds to 716 to transform themarker into an environmental condition. At 718, a status of theindustrial vehicle is determined, where the status correlates to theenvironmental condition. Then, at 720, an automated control is appliedon the industrial vehicle based on the environmental condition and thestatus of the industrial vehicle.

The following examples provide further detail with respect to theprocess 700 of FIG. 7 .

First Example of the Process of FIG. 7

FIGS. 8A and 8B illustrate examples of the process of FIG. 7 , asdescribed above. The examples of FIGS. 8A and 8B are similar to theexample to FIG. 5 , except that the examples of FIGS. 8A and 8B depictfour optical tags 810 a-810 d in a series and the reference numbers are300 higher. Further, all references to FIGS. 8A and 8B can incorporatethe various systems, hardware and embodiments disclosed in FIGS. 1-7 andcan be combined in any combination of components described withreference thereto. In this regard, not every disclosed component need beincorporated. In FIG. 8A, the optical tags 810 a-d are arrangedvertically, while in FIG. 8B, the optical tags 810 a-d are arrangedhorizontally.

In FIGS. 8A and 8B as the industrial vehicle 802 travels forward, alaser beam from the optical scanner 808 scans a first optical tag 810 a.There are multiple embodiments or variations of the process 800 thatdictate how the process 700 receives reflections from the optical tagsand ultimately transforms the reflections into an environmentalcondition and an automated control.

For example, in a series of optical tags 810 a-810 d, there may be astart tag (e.g., the first optical tag) 810 a and an end tag (e.g., thefourth optical tag) 810 d. Thus, optical tags 810 b and 810 c producereflection that are transformed into a marker that is associated withthe environmental condition. In some embodiments, the start tag 810 aand the end tag 810 d are also part of the marker.

One advantage of utilizing a start tag and an end tag is errorrecognition with respect to the optical scanner 808. In this regard,errors can be identified through various approaches depending on theoverall setup of the process 700.

For instance, if the optical scanner 808 scans optical tags 810 b, 810c, and 810 d (i.e., the end tag in this example), but not the firstoptical tag 810 a, there may be an error that caused the optical scanner808 not to scan the first optical tag 810 a. If, in this example, theseries of tags is always four tags (i.e., no tags can be missing), thenthe process may conclude that the optical scanner 808 is misaligned,which caused the optical scanner to miss the first optical tag 810 a, orthat the first optical tag 810 a is covered or damaged. In the event theprocess detects an error (or a potential error), the process 700 willnotify the operator of the industrial vehicle 802 accordingly, report avehicle position and error to a server, or both.

Alternatively, in embodiments where a tag within the series of tags canbe removed, the process can use data from the optical scanner (e.g.,height and distance in relation to the optical tags) to interpolatewhich tag(s) have been removed (e.g., using a timer, as describedherein).

In further embodiments, where the rack 812 reflects light at a signalvalue that is different than a signal value from a floor surface, therack 812 itself can act as a pseudo start tag.

Alternatively, the process 700 may be pre-programmed to know that eachseries of tags comprise a certain number (e.g., four) of optical tags.When the laser beam scans the first optical tag 810 a, the process 700anticipates that more optical tags (in this case optical tags 810 b-810d) will be read. Once all four optical tags are read, the optical tagsare identified as a marker that can be used to find an environmentalcondition.

As disclosed above, in embodiments where the optical scanner 808 andlaser beam are fixed in an orientation, the process 700 can estimatewhen and where optical tags will be scanned based on speed of theindustrial vehicle as well as the height and distance of the opticaltags in relation to the optical scanner 808 and laser beam. However,such estimation may be predicated upon the optical tags 810 a-810 dbeing placed in a consistent manner or pattern. In embodiments thatutilize four optical tags, the process may further utilize a redundancyprotocol, such as a checksum, to verify that four optical tags werescanned. If the checksum returns a sum fewer than four optical tags, theprocess 700 may produce an error result and notify the operator of theindustrial vehicle.

While four optical tags 810 a-810 d are illustrated in FIG. 8 , theprocess 700 does not require that all four optical tags 810 a-810 d arepresent. For example, if optical tag 810 b is removed, the process 700can identify or estimate which optical tag has been removed. In oneexample, the process 700 can use the height and distance of the opticaltags (810 a, 810 c, and 810 d in this instance) in relation to theoptical scanner 808 and laser beam to interpolate a relative position ofthe removed optical tag 810 b (i.e., where optical tag 810 b would bepositioned if the tag had not been removed). For clarity, an example ofa series of tags with a tag within the series of tags removed isillustrated herein.

Second Example of the Process of FIG. 7

Now referring to FIGS. 9A-F, which illustrate an example implementationof an industrial vehicle 902, which the process 700 is executed thereon.FIGS. 9A-F are analogous to FIG. 8A, except that FIGS. 9A-F depict threeoptical tags 910 a, 910 c, and 910 d in a series and the referencesnumbers are 100 higher. Further, all references to FIGS. 9A-F canincorporate the various systems, hardware and embodiments disclosed inFIGS. 1-8B and can be combined in any combination of componentsdescribed with reference thereto. In this regard, not every disclosedcomponent need be incorporated.

In FIG. 9A, an industrial vehicle 902, which is being controlled by anoperator remotely, scans via a laser beam (represented as a dashed line)an environment in a forward-facing direction (as indicated by thedirectional arrow) using an optical scanner 908. For this particularimplementation, the optical scanner 908 comprises an optical scanner andan optical detector that receives reflections, and the process 700 hasbeen programmed so that each series of tags has four optical tags.However, all four optical tags do not have to be present (i.e., theprocess can interpolate the missing tags (e.g., using a timer)).

The laser beam from the optical scanner 908 reflects off of variousitems, such as a series of optical tags (e.g., 910 a, 910 c, and 910 d)and a rack 912, back to the optical scanner 908. In FIG. 9A, the laserbeam from the optical scanner 908 has not scanned the series of opticaltags 910 a, 910 c, and 910 d, thus a marker 914 is shown as X-X-X-X,wherein X denotes a null or missing value.

In FIG. 9B, the laser beam scans optical tag 910 a, thus receiving thereflection from optical tag 910 a. In various embodiments, the firstoptical tag 910 a is a start tag (i.e., a start bit) that indicates tothe process that a series of tags is present. In numerous embodiments,the first optical tag 910 a is read as an optical tag as disclosedherein. Further, in various embodiments the process 700 can measure asignal value of the reflection from optical tag 910 a when thereflection is received by the optical scanner 908 and verify that thereflection is indicative of an optical tag based upon the measuredsignal value exceeding a predetermined threshold. In any embodiment, thereflection from optical tag 910 a prompts the process 700 to concatenatethe indication of the optical tag to the marker 914. Thus, the marker is1-X-X-X at this point.

In FIG. 9C, optical tag 910 b is missing. Thus, the laser beam will notscan optical tag 910 b and a timer should time out, which results in themarker being 1-0-X-X. In various embodiments without a timer, theresulting marker may be 1-X-X-X, because there is not a value to recordor any indication that an optical tag is present. Thus, the process 700may delay coding optical tag 810 b as “0” until the end tag (i.e., 910d) is scanned.

In FIG. 9D, the laser beam scans optical tag 910 c. Similar to FIG. 9 b, the process 700 revises the marker to 1-0-1-X.

In FIG. 9E, the laser scans optical tag 910 d. Similar to FIGS. 9B and9D, the process 700 revises the marker to 1-0-1-1. In this exampleembodiment, the marker 914 is complete and is transformed into anenvironmental condition associated with the value 1-0-1-1. Theenvironmental condition for this example is a requirement that a light916 on the industrial vehicle must strobe when crossing to the rightside of the rack 912 as shown in FIG. 9E. Further, the status of theindustrial vehicle that correlates to the environmental condition isdetermined to be “travelling forward” toward the rack 912. Thus, anautomated control of strobing a light 916 on the industrial vehicle isapplied to the industrial vehicle 902.

In FIG. 9F, which illustrates the process 700 resetting the marker 914after the industrial vehicle 902 has strobed its light. Note thatoptical tag 910 a is blocked by the industrial vehicle 902 as it passesby the rack 912.

In multiple embodiments, a first tag within the series of tags (e.g.,910 a) may be removed as well. For example, a marker may read 0-1-1-1.Interpolating the “0” may be accomplished in various manners such asdesignating a predefined number of optical tags for the series ofoptical tags, comparing the predefined number of optical tags against atotal number of measured signal values indicative of the series ofoptical tags, and interpolating which optical tags within the series ofoptical tags is missing (if the predefined number of optical tags isdifferent than the total number of measured RSSI values indicative ofthe series of optical tags).

For instance, if the process 700 is programmed so that each series oftags has four optical tags but does not require that all four opticaltags have to be present, a second tag (e.g., 910 b) can be coded as astart tag. In such a case, after tags 910 b-d have been scanned, wherein910 d is an end tag, the marker can read X-1-1-1. However, since theprocess has been programmed for four tags, and no gaps between the tags910 b-d were detected, the process 700 can interpolate the marker ofoptical tag 910 a as “0”. Further, verification of optical tag countscan be performed via a checksum or a similar mechanism.

The values given to the optical tags in the marker in this example arebinary. However, in other examples, the tags may have more than twooptions for values (e.g., using multiple thresholds).

Multiple Optical Tags in Parallel

Now referring to FIG. 10 , a process 1000 for automating control of anindustrial vehicle based on location is disclosed. All references toFIG. 10 can incorporate the various systems, hardware and embodimentsdisclosed in FIGS. 1-9 and can be combined in any combination ofcomponents described with reference thereto. In this regard, not everydisclosed component need be incorporated.

The process 1000 comprises scanning at 1002 an environment in a forwardtravel direction of the industrial vehicle, by using a first opticalscanner affixed to the industrial vehicle, and a second optical scanneraffixed to the industrial vehicle, wherein the first optical scanner andthe second optical scanner are fixed in an orientation that scans aheadof and alongside the forward travel direction of the industrial vehicle.

In this regard, the optical scanners may be arranged in any number ofconfigurations. For instance, the optical scanners may be arranged in avertical line, where a detection distance for each optical scanner isdictated through associated software, intensity, or both. In variousembodiments, the optical scanners may be vertically staggered from oneanother. For example, the first optical scanner may be disposed on afront most end of the industrial vehicle, and the second optical scannermay be disposed above the first optical scanner and behind the frontmost end of the industrial vehicle.

In embodiments that have a third optical scanner, the third opticalscanner is disposed above the second optical scanner and yet furtherbehind the front most end of the industrial vehicle, and so on. Examplesof the vertically staggered and vertical line optical scannerconfigurations are illustrated in FIGS. 11A and 11B, respectively,wherein the optical scanners are illustrated as dots with dotted linesextending therefrom. Four optical scanners 1108 a-d are shown in eachfigure for illustrative purposes and are by no means limiting in scope.

At 1004, the process 1000 comprises receiving a first reflectionindicative of a signal emitted by the first optical scanner, and asecond reflection indicative of a signal emitted by the second opticalscanner. In some embodiments, the industrial vehicle may have a thirdand a fourth optical detector which receive a third reflection and afourth reflection respectively. Thus, instead of serially detecting theoptical tags into a pattern (i.e., the process of FIG. 7 ), the opticaltags are detected in parallel with multiple optical detectors.

At 1006, the process 1000 comprises measuring a received signal value ofthe first reflection indicative of the signal emitted by the opticalscanner and measuring a received signal value of the second reflectionindicative of the signal emitted by the optical scanner. In furtherembodiments, wherein the industrial vehicle utilizes the third andfourth optical detector, the process 1000 measures a received signalvalue of the third reflection, and the fourth reflection as well. Aswith the single tag process and the series of tag process, the receivedsignal value may be a received signal strength indicator (RSSI) value.

At 1008, the process 1000 comprises verifying whether the first measuredreceived signal value is indicative of a first optical tag based uponthe first measured received signal value to create an indication of afirst optical tag and verifying whether the second measured receivedsignal value is indicative of a second optical tag based upon the secondmeasured received signal value to create an indication of a secondoptical tag.

At 1010, the process 1000 comprises identifying a marker based on thefirst and second indications of first and second optical tags,respectively. In cases with more than two optical scanners, all or someof the optical tags may be used to identify the marker.

If at 1012, the marker is not identified (because the tags were notdetected), then the process loops back to 1004. However, if a marker isidentified, then the process proceeds to 1014 to transform the markerinto an environmental condition. At 1016, a status of the industrialvehicle is determined, where the status correlates to the environmentalcondition. Then, at 1018, an automated control is applied on theindustrial vehicle based on the environmental condition and the statusof the industrial vehicle.

Determining Travel Direction

As discussed above, a marker may be absolute (i.e., is not dependent ona travel direction of the industrial vehicle) or relative (i.e., isdependent on a travel direction of the industrial vehicle). Therefore,in cases of relative markers, the travel direction of the industrialvehicle must be determined.

In some embodiments, the travel direction may be determined through theuse of one marker. For example, most optical scanner/detectors candetect a direction from which a reflection is received. Therefore, it ispossible to identify which side of an aisle an object (e.g., a tag, amarker, etc.) resides. As such, if there is only one marker at aposition in an aisle, then when the position of that marker isdetermined relative to the industrial vehicle, a direction of theindustrial vehicle is known. For example, if the marker is on the rightside of the aisle, then the industrial vehicle is travelling in a firstdirection. Continuing with the example, if the marker is found on theleft side of the aisle, then the industrial vehicle is travelling in asecond direction (e.g., opposite the first direction).

As an example and referring back to FIG. 5 , when the industrial vehicle502 passes an optical tag 512 in a first direction 516, where theoptical tag 512 is to the left of the industrial vehicle 502, the systemknows that due to the optical tag 512 being on the left and the value ofthe marker, that the industrial vehicle is travelling from aremote-control-allowed zone (first zone) 504 to aremote-control-prohibited zone (second zone) 506. Similarly, if theindustrial vehicle 502 travels in a second direction (e.g., opposite thefirst direction), then the optical tag 512 is to the right of theindustrial vehicle 502. Thus, the system knows that due to the opticaltag 512 being on the right and the value of the marker, that theindustrial vehicle 502 is travelling from the remote-control-prohibitedzone (second zone) 506 to the remote-control-allowed zone (first zone)504.

In numerous embodiments, markers are present on both sides of the aisle,and both markers are used to relay a single environmental condition,which allows for twice as many tags to be present for encoding theenvironmental condition. Thus, if markers are four tags in length, thenthe environmental condition can be coded as eight bits (i.e.,two-hundred-fifty-six different possibilities) of information. Such ascheme can be used to resolve travel direction of the industrialvehicle. For example, with two-hundred-fifty-six differentpossibilities, there may be less than half actual environmentalconditions. Thus, at least half of the encoded pairs of markers may betied to no environmental condition. For example, a first marker may havean encoded value of 1101, and a second marker may have an encoded valueof 1001. Further, in this example, the left marker is seen as the mostsignificant bits, while the right marker is seen as the leastsignificant bits. Moreover, in this example, when the industrial vehicleis traveling in a first direction, the first marker is on the left, andthe second marker is on the right; when the industrial vehicle istraveling in a second direction, the second marker is on the left, andthe first marker is on the right. Thus, when the industrial vehicletravels in the first direction, the encoded value of the markers is:1101 1001. Conversely, when the industrial vehicle travels in the seconddirection, the encoded value of the markers is: 1001 1101. If 1101 1001is encoded as an environmental condition that indicates that the vehiclein transitioning to another zone (e.g., see FIG. 5 ) and 1001 1101 isnot encoded as any environmental condition, so the markers are ignoredin the second direction. Thus, the marker is not transformed into anenvironmental condition.

In various embodiments, markers are present on both sides of the aisle,both markers are associated to relay a single environmental condition,and one of the tags of each marker indicates a direction. The tags thatare used to indicate direction should have opposing binary values, sowhen the left tag reads ‘zero’ and the right tag reads ‘one,’ the systemknows that the industrial vehicle is travelling in a first direction.Correspondingly, when the left tag reads ‘one’ and the right tag reads‘zero,’ the system knows that the industrial vehicle is travelling in asecond direction (e.g., opposite the first direction). The rest of thetags in the markers may then be used to relay an environmentalcondition. For example, if two markers with four tags are present in anaisle (one marker on each side of the aisle), the first tag on bothmarkers (two tags total in this example) may be used to determine thedirection and then the second through fourth tags on each marker (sixtags total in this example) can be used to encode the environmentalcondition. In another example, if two markers with four tags are presentin an aisle (one marker on each side of the aisle), the first tag onboth markers (two tags total in this example) may be used to determinethe direction and then the second through fourth tags on only one of themarkers (depending on the direction) is used to encode the environmentalcondition.

Turning to FIGS. 12A-B, in various embodiments, three-dimensional tags1202 may be used to create markers. As discussed above (see FIG. 6 ),the range of an optical scanner may extend behind the front of theindustrial vehicle 1204. A three-dimensional tag 1202 includes a firstface 1206 and a second face 1208 with information, each coupled to amount 1210 that may be placed on any desired surface (e.g., pillar,stanchion, post, shelf, etc.). In FIGS. 12A-B, a three-dimensional tag1202 is shown at two points in time relative to the industrial vehicle1204. The tag 1202 in FIG. 12A shows the tag 1202 as the industrialvehicle 1204 first sees the tag 1202, while the industrial vehicle istravelling in a first direction 1212. Thus, the optical scanner sees thefirst face 1206 first. Then as the industrial vehicle 1204 travels, thethree-dimensional tag 1202 ends up behind the industrial vehicle, asshown in FIG. 12B. The optical scanner picks up the second face 1208when the tag 1202 is behind the front of the industrial vehicle 1204.Therefore, two different measurements can be made for the same tag atdifferent times.

The processes and systems described herein can be used to automaticallycontrol industrial vehicles based on optical tags that are not withinthe travel path of the industrial vehicle. Further, if an industrialvehicle already has an optical scanner to detect objects, then noadditional scanners are required.

Miscellaneous

As will be appreciated by one skilled in the art, aspects of the presentdisclosure may be embodied as a system, method or computer programproduct. Moreover, some aspects of the present disclosure may beimplemented in hardware, in software (including firmware, residentsoftware, micro-code, etc.), or by combining software and hardwareaspects. Furthermore, aspects of the present disclosure may take theform of a computer program product embodied in one or more computerreadable storage medium(s) having computer readable program codeembodied thereon.

In certain embodiments, any combination of one or more computer readablemedium(s) may be utilized. The computer readable medium may be acomputer readable storage medium or a computer readable signal medium. Acomputer readable storage medium may be a primary storage device, or asecondary storage device (which may be internal, external, or removablefrom the host hardware processing device). Examples of a computerreadable storage medium include, but not limited to, a portable computerdiskette, a hard disk, a random access memory (RAM), a read-only memory(ROM), an erasable programmable read-only memory (EPROM), Flash memory,a portable compact disc read-only memory (e.g., CD-ROM, CD-R, CD-RW,DVD, Blu-Ray), or any suitable combination of the foregoing. In thecontext of this document, a computer readable storage medium may be anytangible (hardware) medium that can contain, or otherwise store aprogram for use by or in connection with an instruction executionsystem, apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Specifically, a computer readablesignal medium is not a computer readable storage medium, and a computerreadable storage medium is not a computer readable signal medium.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent disclosure may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on a user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).

Aspects of the present disclosure are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatuses(systems) and computer program products according to embodiments of thedisclosure. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general-purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable storage medium that can direct a computer, other programmabledata processing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablestorage medium produce an article of manufacture including instructionswhich implement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods and computer program products according to variousembodiments of the present disclosure. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof code, which comprises one or more executable instructions forimplementing the specified logical function(s). It should also be notedthat, in some alternative implementations, the functions noted in theblock may occur out of the order noted in the figures. For example, twoblocks shown in succession may, in fact, be executed substantiallyconcurrently, or the blocks may sometimes be executed in the reverseorder, depending upon the functionality involved. It will also be notedthat each block of the block diagrams and/or flowchart illustration, andcombinations of blocks in the block diagrams and/or flowchartillustration, can be implemented by special purpose hardware-basedsystems that perform the specified functions or acts, or combinations ofspecial purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the disclosure.As used herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present disclosure has been presented for purposes ofillustration and description but is not intended to be exhaustive orlimited to the disclosure in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the disclosure. Aspectsof the disclosure were chosen and described in order to best explain theprinciples of the disclosure and the practical application, and toenable others of ordinary skill in the art to understand the disclosurefor various embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A process for automating control of an industrialvehicle based on location, the process comprising: scanning anenvironment using an optical scanner affixed to the industrial vehicle,wherein the optical scanner is fixed in an orientation that scans in atravel direction of the industrial vehicle; and identifying a markerdefined by a series of optical tags by recursively: receiving, by anoptical detector on the industrial vehicle, a reflection indicative of asignal emitted by the optical scanner; measuring a received signal valueof the reflection indicative of the signal emitted by the opticalscanner; verifying whether the measured received signal value isindicative of an optical tag based upon the measured received signalvalue to create a present indication of the optical tag; andconcatenating the present indication of the optical tag to the marker.2. The process of claim 1, wherein concatenating the present indicationof the optical tag to the marker comprises: determining that a firstoptical tag is indicative of a start bit; and determining a secondoptical tag in the series of optical tags by: assigning a first value tothe second optical tag if the signal value indicative of an optical tagis received before a timer expires; and assigning a second valuedifferent than the first value to the second optical tag if no signalvalue indicative of an optical tag is received before the timer expires.3. The process of claim 2 further comprising: resetting the timer whenthe second optical tag of the series of optical tags is assigned; anddetermining a third optical tag in the series of optical tags by:assigning the first value to the third optical tag if a signal valueindicative of an optical tag is received after the second optical tag isassigned but the timer expires; and assigning the second value to thethird optical tag if no signal value indicative of an optical tag isreceived after the second optical tag is assigned and the timer expires.4. The process of claim 1, wherein concatenating the present indicationof the optical tag to the marker comprises concatenating the presentindication of the optical tag to the marker, based on a sequential orderin which the series of optical tags were received.
 5. The process ofclaim 1, wherein measuring the received signal value of the reflectionindicative of the signal emitted by the optical scanner comprisesgenerating: a first result if the received signal value of thereflection is lower than a first threshold; a second result if thereceived signal value of the reflection is between the first thresholdand a second threshold; and a third result if the received signal valueof the reflection is greater than the second threshold.
 6. The processof claim 1, wherein concatenating the present indication of the opticaltag to the marker comprises concatenating the present indication of theoptical tag to the marker until a predetermined number of optical tagshave been concatenated to the marker.
 7. The process of claim 1, whereinconcatenating the present indication of the optical tag to the markercomprises concatenating the present indication of the optical tag to themarker until an end indicator optical tag is received.
 8. The process ofclaim 1, wherein scanning the environment comprises scanning theenvironment by using an obstacle detection signal.
 9. A process forautomating control of an industrial vehicle based on location, theprocess comprising: scanning an environment using an optical scanneraffixed to the industrial vehicle; identifying a marker defined by aseries of optical tags by recursively: receiving, by an optical detectoron the industrial vehicle, a reflection indicative of a signal emittedby the optical scanner; measuring a received signal value of thereflection indicative of the signal emitted by the optical scanner;verifying whether the measured received signal value is indicative of anoptical tag based upon the measured received signal value to create apresent indication of the optical tag; and concatenating the presentindication of the optical tag to the marker; and performing, based onthe identified marker: transforming the marker into an environmentalcondition; determining a status of the industrial vehicle, wherein thestatus correlates to the environmental condition; and applying anautomated control on the industrial vehicle based on the environmentalcondition and the status of the industrial vehicle.
 10. The process ofclaim 9, wherein concatenating the present indication of the optical tagto the marker comprises: determining that a first optical tag isindicative of a start bit; and determining a second optical tag in theseries of optical tags by: assigning a first value to the second opticaltag if the signal value indicative of an optical tag is received beforea timer expires; and assigning a second value different than the firstvalue to the second optical tag if no signal value indicative of anoptical tag is received before the timer expires.
 11. The process ofclaim 10 further comprising: resetting the timer when the second opticaltag of the series of optical tags is assigned; and determining a thirdoptical tag in the series of optical tags by: assigning the first valueto the third optical tag if a signal value indicative of an optical tagis received after the second optical tag is assigned but the timerexpires; and assigning the second value to the third optical tag if nosignal value indicative of an optical tag is received after the secondoptical tag is assigned and the timer expires.
 12. The process of claim9, wherein concatenating the present indication of the optical tag tothe marker comprises concatenating the present indication of the opticaltag to the marker, based on a sequential order in which the series ofoptical tags were received.
 13. The process of claim 9, whereinmeasuring the received signal value of the reflection indicative of thesignal emitted by the optical scanner comprises generating: a firstresult if the received signal value of the reflection is lower than afirst threshold; a second result if the received signal value of thereflection is between the first threshold and a second threshold; and athird result if the received signal value of the reflection is greaterthan the second threshold.
 14. The process of claim 9, whereinconcatenating the present indication of the optical tag to the markercomprises concatenating the present indication of the optical tag to themarker until a predetermined number of optical tags have beenconcatenated to the marker.
 15. The process of claim 9, whereinconcatenating the present indication of the optical tag to the markercomprises concatenating the present indication of the optical tag to themarker until an end indicator optical tag is received.
 16. The processof claim 9, wherein applying the automated control on the industrialvehicle based on the environmental condition and the status of theindustrial vehicle comprises at least one of: generating a visual cue;activating an alarm on the industrial vehicle; or overriding a manualtravel control system of the industrial vehicle.
 17. The process ofclaim 9, wherein scanning the environment comprises scanning theenvironment by using an obstacle detection signal.
 18. The process ofclaim 9 further comprising determining a travel direction of theindustrial vehicle based on the marker; wherein transforming the markerinto the environmental condition is further based on the traveldirection of the industrial vehicle.
 19. The process of claim 18,wherein determining the travel direction of the industrial vehicle basedon the marker comprises: determining a direction of the marker inrelation to the industrial vehicle, wherein the travel direction of theindustrial vehicle is further based on the direction of the marker inrelation to the industrial vehicle.
 20. The process of claim 18, whereindetermining the travel direction of the industrial vehicle based on themarker comprises: determining a direction of the marker in relation tothe industrial vehicle, wherein the marker is a first marker;determining a direction of a second marker in relation to the industrialvehicle; and determining the travel direction of the industrial vehiclebased on a tag of the first marker, a corresponding tag of the secondmarker, the direction of the first marker in relation to the industrialvehicle, and the direction of the second marker in relation to theindustrial vehicle.